-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test Virtualmin installer using Docker #35
base: master
Are you sure you want to change the base?
Conversation
I guess this is the spinner that's trying to use PS. I'm not sure, off-hand, how to work around it. A script doesn't need a spinner, but the install script uses a runner tool to do multiprocess stuff, so I don't know if it'll be easy to make it not need to check for running processes.
Where does it fail, specifically? I thought I was passing through error codes, but it's messy with the process running sucking up errors for logging and also absorbing the error code for interpretation.
Again, what stage/step does it fail on? It has several indicators in the console output to tell you how far along it is. It may seem mysterious, but if I see the console output and the last few lines of log output, I usually know exactly where it has failed (and if you get familiar with virtualmin-install, slib, virtualmin-config, you will, too).
Why do you believe it can be modified but not replaced? Have you tried it? I don't see how one could be possible and the other not. Most safer implementations of "modify a file" do so by copying. |
It seems variable
If you can give a look on the build result, you'll find my issues easily. Sorry that I am new to virtualmin source code (I have been being its user for years, and want to have a chance to contribute).
This is by Docker's design. I've tried, to confirm your question. Is it still safe to make a file copy before modify its content? |
Nice, I didn't realize this was here, I made something 5 min ago that test on many OS using docker. #60 |
@trinhpham My first crude attempt at multi OS test install is #61 |
The migration & new price model of Travis-CI are not very supportive to developer. I deleted my whole account already. |
Oops, sorry, I commented on the wrong one. |
It's nice to know that you are interesting in this again @swelljoe . |
If you could get your test yml script running on Circle CI, or on any free CI that supports docker container for running the install script on all OS, that would be great! |
FYI, there are two kinds of test:
Correct me if I am wrong. |
We no longer update resolv.conf (it was kinda fragile and used for a kinda unimportant feature). So, that pain point goes away. |
Exactly @trinhpham the simple goal is to run the install script and see if it can get all the way to the end, and return a 0 code, for success, it just works. Anything other than zero, and Travis flags the build as a "fail", devs should get notified to look at the output, see what happened, and fix whatever was wrong (missing package, broken repo for that particular distro, etc). Next step, would be to enhance the script, to auto check the |
I don't think so. Looking to the installer script at L484, there are
|
That's The addition to resolv.conf comes in Virtualmin-Config, not the install script. but, apparently we are still adding it there even in Virtualmin 7. I thought Ilia had removed it, but I guess he thought I'd removed it. Dang. I'll fix it this weekend. |
To work around the fail at phase 3 |
Hi folks,
I've tried to make a Travis-CI validation build to verify that the installer can be run successfully on all grade A OSes (as document) with the hope that we could avoid the accident of failed build is deployed in the future. Take a look if you are interesting in: https://travis-ci.org/github/trinhpham/virtualmin-install/builds/690388157
My thoughts is very simple at the beginning: Virtualmin is an application which contains other applications and can be able to run on application layer of the OS, means I can validate the installation easily by using Docker. I was wrong! I found several issues which I need your help to make the test be possible:
/etc/resolve.conf
is not possible in Docker container, must alter its content insteadHow should I keep moving on this?